// 自定义插件注册
// 对外暴露插件对象

import SvgIcon from './SvgIcon/index.vue'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const allComponent: any = { SvgIcon };
export default {
  // install注入app实例
  install(app: any) {
    // Object.keys() 静态方法返回一个由给定对象自身的可枚举的字符串键属性名组成的数组。 
    Object.keys(allComponent).forEach(key => {
      app.component(key, allComponent[key]);
    });
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      // 解决element中menu图标不显示问题，属于插件库bug，官方推荐别名规避
      if ("Menu" != key) {
        app.component(key, component);
      }
      else {
        app.component(key + "Icon", component);
      }
    }
  }
}